1. Field of the Invention
The present invention relates to a technique to cope with a read disturb phenomenon in which data is unintentionally rewritten by repeatedly reading the data out from a flash memory.
2. Description of the Background Art
NAND flash memories are rewritable nonvolatile semiconductor memories. The NAND flash memories can achieve high integration while ensuring cost reduction, and therefore are widely used in a form of SD memory card or the like.
In the NAND flash memories, it has been found that a phenomenon occurs in which stored data is unintentionally rewritten by repeatedly reading a specific cell. Such a phenomenon is termed a “read disturb phenomenon” and this is a problem in using the NAND flash memories.
Even if a specific cell is repeatedly read out, when data in a region including the cell is once updated, the cell is recovered to the original state and it is therefore possible to avoid any ill effect on information processing due to the read disturb phenomenon. In a case, however, where no write operation is performed on the specific cell and only read operation is repeatedly performed thereon, there is a strong possibility that the read disturb phenomenon may occur, and this may affect the information processing.
The NAND flash memories have been used recently as program memories, like ROMs, of information processing apparatuses in more cases. In the case where a NAND flash memory is used in such a manner, there is an increased possibility that the read disturb phenomenon may occur since only read operation is continuously performed.
Some measures are taken in order to avoid occurrence of the read disturb phenomenon or recover the error caused by the read disturb phenomenon. For example, used is a method in which data in each page of a NAND flash memory is read by using a predetermined algorithm and then error detection is performed by using an error checking and correction circuit. If data having an error is detected by the error checking and correction circuit, the data is corrected and then rewritten into the memory. This can recover the cell in which the read disturb phenomenon occurs.
Various algorithms can be used to detect errors. For example, there is a method of sequentially checking all the pages in the NAND flash memory. In the case of adopting the method of sequentially checking all the pages, unnecessary inspection is performed even on pages having a low possibility of occurrence of error. On the other hand, the inspection frequency for pages having a strong possibility of occurrence of error is reduced. As a result, this becomes a factor of reducing the reliability of error detection.
Though a method of checking pages in a NAND flash memory at random is also used, it is still impossible, by this method, to ensure efficient inspection on pages having a strong possibility of occurrence of error.
Further, used is a method of performing error detection on blocks whose read count is high. The case of adopting this method requires enough storage capacity to store read counts for all the blocks. As the capacity of the NAND flash memory increases, there arises a problem of requiring too much storage capacity in order to store the read count for each block.
Japanese Patent Application Laid Open Gazette No. 2011-107851 discloses a technique to prevent the read disturb phenomenon. In the technique disclosed in Japanese Patent Application Laid Open Gazette No. 2011-107851, an inspection target page is specified without holding the read count for each block. In this technique, however, since all the pages are evenly checked, it is still impossible to ensure efficient inspection on pages having a strong possibility of occurrence of error.